PARAMETERS û przyk│ad deklaracji
W tym przyk│adzie u┐ytkownik powinien podaµ nazwΩ stanowiska, kt≤re bΩdzie elementem kryterium kwerendy.
W tym przyk│adzie wywo│ywana jest procedura WyliczPola, kt≤r╣ mo┐na znaleƒµ w przyk│adzie dotycz╣cym instrukcji SELECT.
Sub ParametersX()
Dim dbs As Database, qdf As QueryDef
Dim rst As Recordset
Dim strSql As String, strParam As String
Dim strKomunikat As String
Dim intPolecenie As Integer
' Zmodyfikuj ten wiersz tak, by £cie┐ka wskazywa│a
' na rzeczywist╣ bazΩ danych Northwind.
Set dbs = OpenDatabase("NorthWind.mdb")
' Zdefiniuj klauzulΩ parametr≤w.
strParm = "
PARAMETERS
[Tytu│ pracownika] CHAR; "
' Zdefiniuj instrukcjΩ SQL z klauzul╣ parametr≤w.
strSql = strParm & "SELECT Nazwisko, ImiΩ, " _
& "NrPracownika " _
& "FROM Pracownicy " _
& "WHERE Tytu│ = [Tytu│ pracownika];"
' Utw≤rz obiekt typu QueryDef bazuj╣cy
' na instrukcji SQL.
Set qdf = dbs.CreateQueryDef _
("Znajdƒ pracownik≤w", strSql)
Do While True
strKomunikat = _
"Znajdƒ pracownik≤w wg stanowiska " _ & Chr(13) _
& " Wybierz stanowisko:" & Chr(13) _
& " 1 - Szef sprzeda┐y" & Chr(13) _
& " 2 - Przedstawiciel handlowy" _
& Chr(13) _ & " 3 - Koordynator sprzeda┐y
intPolecenie = Val(InputBox(strKomunikat))
Select Case intPolecenie
Case 1
qdf("Tytu│ pracownika") = _
"Szef sprzeda┐y "
Case 2
qdf("Tytu│ pracownika") = _
"Przedstawiciel handlowy"
Case 3
qdf("Tytu│ pracownika") = _
"Koordynator sprzeda┐y"
Case Else
Exit Do
End Select
' Utw≤rz tymczasowy obiekt Recordset ' typu utrwalonego.
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
' Zape│nij obiekt Recordset.
rst.MoveLast
' Wywo│aj procedurΩ WyliczPola w celu
' wydrukowania zawarto£ci obiektu Recordset. Przeka┐ obiekt
' Recordset i wymagan╣ szeroko£µ pola.
WyliczPola rst, 12
Loop
' Poniewa┐ jest to przyk│ad,
' Usu± obiekt typu QueryDef.
dbs.QueryDefs.Delete "Znajdƒ pracownik≤w"
dbs.Close
End Sub